翻訳と辞書
Words near each other
・ Registration of Political Parties Act 1998
・ Registration office
・ Registration pin
・ Registration statement
・ Registration tax
・ Registration, Evaluation, Authorisation and Restriction of Chemicals
・ Registro
・ Registro de Emisiones y Transferencia de Contaminantes
・ Registro de Identidade Civil
・ Registro Internacional Naval
・ Registro Italiano Navale
・ Registro Nacional de Estrangeiros
・ Registrum Gregorii
・ Register (surname)
・ Register alias table
Register allocation
・ Register Cliff
・ Register complex
・ Register file
・ Register for Governmental Approval of Financial Obligations
・ Register Forum
・ Register key
・ Register machine
・ Register memory architecture
・ Register of Architects
・ Register of Copyrights
・ Register of Cultural Goods of Croatia
・ Register of Culturally Significant Property
・ Register of data controllers
・ Register of Historic Parks and Gardens of special historic interest in England


Dictionary Lists
翻訳と辞書 辞書検索 [ 開発暫定版 ]
スポンサード リンク

Register allocation : ウィキペディア英語版
Register allocation

In compiler optimization, register allocation is the process of assigning a large number of target program variables onto a small number of CPU registers. Register allocation can happen over a basic block (''local register allocation''), over a whole function/procedure (''global register allocation''), or across function boundaries traversed via call-graph (''interprocedural register allocation''). When done per function/procedure the calling convention may require insertion of save/restore around each call-site.
== Introduction ==
In many programming languages, the programmer has the illusion of allocating arbitrarily many variables. However, during compilation, the compiler must decide how to allocate these variables to a small, finite set of registers. Not all variables are in use (or "live") at the same time, so some registers may be assigned to more than one variable. However, two variables in use at the same time cannot be assigned to the same register without corrupting its value. Variables which cannot be assigned to some register must be kept in RAM and loaded in/out for every read/write, a process called ''spilling''. Accessing RAM is significantly slower than accessing registers and slows down the execution speed of the compiled program, so an optimizing compiler aims to assign as many variables to registers as possible. Register pressure is the term used when there are fewer hardware registers available than would have been optimal; higher pressure usually means that more spills and reloads are needed.
In addition, programs can be further optimized by assigning the same register to a source and destination of a move instruction whenever possible. This is especially important if the compiler is using other optimizations such as SSA analysis, which artificially generates additional move instructions in the intermediate code.

抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)
ウィキペディアで「Register allocation」の詳細全文を読む



スポンサード リンク
翻訳と辞書 : 翻訳のためのインターネットリソース

Copyright(C) kotoba.ne.jp 1997-2016. All Rights Reserved.